The invention pertains to the field of disk drive control circuitry, and, more particularly, to the servo data decoders for interpreting servo data read from surfaces which are recorded with dedicated servo data for use in head positioning servo mechanisms in computer disk drives.
As with most computer peripheral markets, a plethora of standards or techniques has emerged for controlling the head position in disk drives. Typically, all such techniques involve servo data which is recorded on magnetic media in a known manner. The servo data is recorded on all tracks, and the data on adjacent tracks is different. This data can be read by magnetic heads as the disk surface spins, and pulses of various amplitudes and timing relationships result. Generally speaking, it is possible to determine the head position by determining the amplitude of these servo data pulses and examining their timing relationships.
Several servo data encoding schemes exist to utilize the above noted general scheme in head positioning. Some of these schemes utilize dedicated servo surfaces which are permanently recorded with servo data. No user data is recorded on these surfaces, but the servo data read head is mechanically ganged to the read/write head for the user's data. One servo data encoding scheme, which is the most popular, is called quadrature data encoding. In this scheme the servo data is recorded on groups of 4 adjacent tracks. Each track of each group of 4 has a servo data magnetic flux transition at a particular angular position displacement from the position of a synchronization flux transition. Each track in each group has its flux transition located at a different position from the synchronization flux transition. Each synchronization flux transition marks the beginning of a data frame. Each data frame in quadrature data is separated into 4 windows or periods. When the disk rotates, the servo head which flys over the servo data will pick up pulses from the flux transitions that are occurring on the data tracks under the servo head. The pulses picked up by the servo head will occur during their respective windows in the data frame, and their amplitudes will depend upon how far the servo head is away from the track centers of each of the 4 tracks in each group. This information can be sampled and processed so as to determine the servo head position. The data head position follows from the servo head position.
Another popular form of servo data encoding is called tri-bit servo data encoding. In this system, each frame starts out with a synchronization pulse, but there are only two windows in each frame and only two adjacent tracks are coded with related servo data for each group. Each servo data track in each group has a servo data flux transition which is located at a specific angular displacement from the flux transition from the synchronization flux transition as in quadrature data. These flux transitions result in servo data pulses which occur in the specific windows following the synchronization pulses, and their amplitudes are a measure of how far the servo data head is from the track centers of the servo data tracks. The tri-bit servo data is decoded in a similar manner to the decoding method for quadrature data in that the amplitudes of the servo data pulses that occur in the various windows are sampled, and the servo head position is calculated from this amplitude data.
A position error signal is generated from the amplitude data. This signal or signals depending upon which system is being decoded is used by the disk drive head positioning servo mechanism to position the data head over the data track center while operating in the track following mode.
When the data must be moved to the center of a new data track, the disk drive head control system enters what is known as the seek mode. In this mode, the head is moved from its current track to a new track in accordance with a velocity profile defined by the user. To support such operations, a servo data decoder must supply a velocity signal which indicates how fast the heads are moving over the data tracks. The servo data decoder must also supply a track crossing signal. This signal is used by the disk drive head control system to measure the progress of the data head toward its destination track so that the proper velocity profile may be maintained.
Some prior art servo data encoding schemes do not use dedicated servo surfaces and dedicated servo heads. In these systems, the servo data is embedded in the user's data, and the read/write head is used to read the servo data. Decoding of such servo data requires that the servo data decoder be frozen during the time that the head is over read data.
Prior art servo data decoders such as the Fairchild uA2460 and uA2470 are only capable of decoding one servo data encoding scheme. In the case of the Fairchild part, only quadrature data may be decoded. A different part must be used if tri-bit or some other encoding scheme is used. Further, the user is not provided with access to various signals in the system or subsystems therein. This prevents the user from being able to modify the parameters of the system, modify its operations, filter certain signals to eliminate noise or cause the system to operate on an average basis over several frames rather than on a frame to frame basis. Further, some disk drive systems operate at different gain levels for the servo data than others, and the user must be able to compensate for this. Also, disk drive systems vary in the time of occurrence of the first servo data pulse after the synchronization pulse and in the duration of the windows in the servo data frame during which the servo data pulses occur.
A need has therefore arisen for a servo data decoder to provide the user with the ability to adjust for these differences and which is able to decode any servo data which is encoded with an amplitude dependent data encoding scheme.